This disclosure relates generally to load balancing in digital systems and, more specifically, to a method and system for balancing a traffic load in a half-duplex environment when clients are across a router.
A computer network generally has at least one computer (e.g., a server or gateway) that provides services to other computers (clients) via the network. In an Internet Protocol (IP) network, the server and clients are associated with IP addresses that enable the other computers to send them packets. Address resolution between the server and clients may use an Address Resolution Protocol (ARP), which maps an IP address to a physical machine address. A device such as a router or gateway may be positioned in the network between the server and at least some of the clients to forward packets and perform similar functions.
The server generally has multiple network interface cards (NICS) or similar interfaces through which the incoming (inbound) and outgoing (outbound) traffic is routed. Each NIC may be associated with a unique hardware number called a Media Access Control (MAC) address (e.g., a physical machine address) that may be used in conjunction with the IP address to identify a specific communication route to be used when a client communicates with the server. If the server has multiple NICs and is communicating with clients on the same subnet (e.g., a portion of the network that shares a common address), the server may use a load balancing module to distribute the traffic between the NICs.
However, when the server is connected to the clients via the router in a half-duplex environment (e.g., an environment in which data is transmitted in just one direction at a time), the server's load balancing module may not be effective. For example, this ineffectiveness may be because the router may store a single MAC address for the server's IP address. As the router only has a single MAC address for the server, all inbound traffic is directed from the router to the server using the one NIC associated with the MAC address, even though the NIC is also used for outbound traffic. This creates congestion and lowers the throughput and efficiency of the server.
Therefore, what is needed is an improved method and system for balancing a server load in a half-duplex environment when the clients are across a router.